# Copyright (c) Facebook, Inc. and its affiliates.
from iopath.common.file_io import HTTPURLHandler, OneDrivePathHandler, PathHandler
from iopath.common.file_io import PathManager as PathManagerBase

__all__ = ["PathManager", "PathHandler"]


PathManager = PathManagerBase()
"""
This is a detectron2 project-specific PathManager.
We try to stay away from global PathManager in fvcore as it
introduces potential conflicts among other libraries.
"""


#class Detectron2Handler(PathHandler):
#    """
#    Resolve anything that's hosted under detectron2's namespace.
#    """
#
#    PREFIX = "detectron2://"
#    S3_DETECTRON2_PREFIX = "https://dl.fbaipublicfiles.com/detectron2/"
#
#    def _get_supported_prefixes(self):
#        return [self.PREFIX]
#
#    def _get_local_path(self, path):
#        name = path[len(self.PREFIX) :]
#        return PathManager.get_local_path(self.S3_DETECTRON2_PREFIX + name)
#
#    def _open(self, path, mode="r", **kwargs):
#        return PathManager.open(self._get_local_path(path), mode, **kwargs)


PathManager.register_handler(HTTPURLHandler())
PathManager.register_handler(OneDrivePathHandler())
#PathManager.register_handler(Detectron2Handler())
